package com.group02.community.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.group02.community.entity.user.SysUser;
import com.group02.community.entity.vo.queryVO.QueryParamsVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface IUserService extends IService<SysUser> {
//    /**
//     * 根据用户名查询菜单
//     * @param name
//     * @return
//     */
//    List<SysMenu> getMenusByUsername(String name);
//
//    /**
//     * 根据用户名查询用户信息
//     * @return
//     */
//     SysUser getSysUserByUsername(String userName);

    /**
     * 获取用户分页
     * @param current
     * @param size
     * @return
     */
    IPage<SysUser> getUserPage(Long current, Long size, QueryParamsVO qp);


    /**
     * 表格导出
     * @param resp
     */
    void exportExcel(HttpServletResponse resp) throws IOException;

    /**
     * 新增user的所有信息
     * @param user
     */
    String saveAllUserMsg(SysUser user);

    /**
     * 获取用户的角色和岗位
     * @param id
     * @return
     */
    Map<String, Long> getUserRoleAndPost(Long id);

    /**
     * 修改用户
     * @param user
     * @return
     */
    String updateAllUserMsg(SysUser user);

    void importExcel(MultipartFile file);

    void emptyDatabase();

    /**
     * 逻辑删除
     * @param ids
     */
    void removeByAllIds(String ids);
}
